1. Field of the Invention
The present invention relates generally to packet data transmission in a mobile communication network, and in particular, to an apparatus and method for controlling packet data transmission between a base station controller (BSC) and a base transceiver system (BTS).
2. Description of the Related Art
In general, a mobile communication network, such as CDMA-2000 (Code Division Multiple Access-2000), WCDMA (Wideband CDMA, also known as UMTS (Universal Mobile Telecommunication System)), GPRS (General Packet Radio System), and CDMA-2000 1xEV-DO (Evolution Data Only) networks, includes a base station controller (BSC) and a base transceiver system (BTS). Such a mobile communication network has typically provided only a voice service to a mobile subscriber, but recently shows a tendency to support a packet data service as well as the voice service.
FIG. 1 illustrates a configuration of a general mobile communication network that provides a mobile subscriber with a packet data service as well as a voice service. Referring to FIG. 1, a mobile communication network includes mobile stations (MSs) 11 and 12, base transceiver systems (BTSs) 20 and 30 wirelessly connected to the mobile stations 11 and 12 for wireless communication with them, and a base station controller (BSC) 40 connected by wire to the base transceiver systems 20 and 30 for wire communication with them. The base station controller 40 is connected to a mobile switching center (MSC) 50 and a gateway (GW) 60. The mobile switching center 50 is connected to a public switched telephone network (PSTN), and the gateway 60 is connected to Internet/PSDN (Public Serving Data Network). Therefore, when the mobile station 11 is connected to the PSTN through the mobile switching center 50 under the control of the base station controller 40, the mobile station 11 is provided with a voice service. When the mobile station 11 is connected to the Internet/PSDN through the gateway 60, the mobile station 11 is provided with a packet data service.
The base transceiver systems 20 and 30 include RF (Radio Frequency) schedulers 21 and 31, respectively. The base station controller 40 includes an SDU/RLP (Selection & Distribution Unit/Radio Link Protocol) 41. The RF schedulers 21 and 31 are provided to help the base transceiver systems 20 and 30 efficiently utilize radio resources, and also to help the users properly share the limited radio resources. The SDU is provided to transmit traffic to a plurality of base transceiver systems, and to combine data from the same MS, received from the plurality of the base transceiver systems. Optionally, the SDU may also be included in the gateway 60 and perform the same function. However, herein, the SDU is included in the base station controller 40. The RLP is provided to convert packet data traffic received from the gateway 60 into an error control protocol frame format, and transmit it to the base transceiver systems 20 and 30. Here, it should be noted that the base transceiver systems 20 and 30 have a limited buffer size for the users. Therefore, when excessive traffic larger than allocable to the corresponding users is transmitted from the base station controller 40 to the base transceiver systems 20 and 30, a traffic loss occurs inevitably in the base transceiver systems 20 and 30. For the traffic loss during communication between the base station controller 40 and the base transceiver systems 20 and 30, a retransmission procedure is performed through an error control function (e.g., RLP error recovery function) between the mobile station (herein, mobile station 11 by way of example) and the base station controller 40. The retransmission procedure causes propagation delay and a reduction in efficiency of radio resources. In addition, the mobile station may perform a handoff while on the move between the base transceiver systems. Therefore, when provided with excessive traffic, the mobile station should occasionally discard the traffic during the handover, resulting in a reduction in efficiency of a link used between the base station controller and the base transceiver system in order to transmit the traffic.
A conventional packet data transmission control operation between the base station controller and the base transceiver system, proposed to solve the above problems, is illustrated in FIGS. 2 and 3. In the following description, it will be assumed that the packet data transmission control operation is performed between the base station controller 40 and the base transceiver system 20 of FIG. 1. The term “BSC_BUF” as used herein represents an amount (hereinafter, referred to as “buffered amount”) of packet data traffic stored in an internal buffer of the base station controller 40, and the term “BTS_BUF” represents an amount (hereinafter, referred to as “buffered amount”) of packet data traffic stored in an internal buffer of the base transceiver system 20. Further, the term “BTS_Q_SIZE” represents a maximum amount of available packet data traffic that can be stored in the internal buffer of the base transceiver system 20. That is, “BSC_BUF” represents a current size of the internal buffer in the base station controller 40, “BTS_BUF” represents a current size of the internal buffer in the base transceiver system 20, and “BTS_Q_SIZE” represents the maximum size of the internal buffer in the base transceiver system 20.
FIG. 2 illustrates a procedure for controlling packet data transmission by a base station controller according to the prior art. Referring to FIG. 2, the base station controller 40 waits for packet data traffic to be received from the gateway 60 or waits for a buffered amount to be reported from the base transceiver system 20 (Step S201). Upon receiving a report on the buffered amount from the base transceiver system 20, the base station controller 40 updates the reported buffered amount to the current buffer size BTS_BUF of the base transceiver system 20 (Step S209).
Upon receiving packet data traffic from the gateway 60, the base station controller 40 stores the received traffic in its internal buffer (Step S203), and increases the current buffer size BSC_BUF of the base station controller by the received traffic amount (Step S204). If the current buffer size BTS_BUF of the base transceiver system 20 is less than the maximum buffer size BTS_Q_BUF allocated to the corresponding user by the base transceiver system 20 (“Yes” in Step S205), the base station controller 40 transmits to the base transceiver system 20 as much traffic as the base transceiver system 20 can receive among the traffic stored in the internal buffer, i.e., as much traffic as can be accommodated by (BTS_Q_SIZE−BTS_BUF) (Step S206). After transmitting the traffic to the base transceiver system 20, the base station controller 40 decreases the current BSC_BUF of the base station controller by the transmitted traffic amount (Step S207).
If BTS_BUF is equal to BTS_Q_SIZE, it means that a transmissible traffic amount has reached its limit (“No” in Step S205), so the base station controller 40 waits for BTS_BUF to be decreased below BTS_Q_SIZE (Step S201). Upon receiving a report that BTS_BUF is less than BTS_Q_SIZE from the base transceiver system 20, the base station controller 40 transmits to the base transceiver system 20 as much traffic as the base transceiver system 20 can receive among the traffic stored in its internal buffer (Step S206).
FIG. 3 illustrates a procedure for transmitting a control message with current buffer size information by a base transceiver system according to the prior art. Referring to FIG. 3, the base transceiver system 20 waits a control message transmission time (Step S301). If it is the control message transmission time (“Yes” in Step S302), the base transceiver system 20 transmits the control message with BTS_BUF and BTS_Q_SIZE to the base station controller 40 (Step S303). Here, the “control message transmission time” can be set to either a preset period or a time at which traffic is transmitted to the base station controller 40. When traffic is transmitted to the base station controller 40, the BTS's current buffer size information BTS_BUF is transmitted as in-band information of the corresponding traffic.
FIG. 4 illustrates a procedure for exchanging packet data between a base station controller and a base transceiver system according to the prior art. Here, it is assumed that BTS_Q_SIZE is 64 packets and BTS_BUF is initially empty.
Referring to FIG. 4, if it is assumed that the base station controller 40 has received 64 packets from the gateway 60 (Step 40a), the base station controller 40 stores the received packets in its internal buffer, and then increases BSC_BUF to 64. At this point, since the number of packets currently stored (or piled) in the base transceiver system 20 is 0, the base station controller 40 judges that it can transmit 64 packets, and based on the judgment, transmits the 64 packets to the base transceiver system 20 (Step 40b). The 64 packets transmitted by the base station controller 40 are received at the base transceiver system 20 (Step 40c). After receiving the 64 packets, the base transceiver system 20 reports that the current buffer size BTS_BUF of the base transceiver system has increased to 64 packets by transmitting a control message at a preset control message transmission time (Step 40d). Upon receipt of the control message from the base transceiver system 20, the base station controller 40 sets the current buffer size BTS_BUF of the base transceiver system to 64 packets. At this point, since the BTS's current buffer size BTS_BUF is identical to the BTS's maximum buffer size BTS_Q_SIZE, the base station controller 40 recognizes that it cannot transmit more packets.
In this state, if 64 new packets are received, the base station controller 40 stores the 64 new packets in its internal buffer, and then updates the BSC's current buffer size BSC_BUF (Step 40e). At this point, since the BTS's current buffer size BTS_BUF is 64 packets (i.e., the BTS's maximum buffer size), the base station controller 40 waits without transmitting the 64 new packets.
Thereafter, the base transceiver system 20 transmits 32 packets to the mobile station 11 (Step 40f), and reports to the base station controller 40 that the BTS's current buffer size is 32 packets (Step 40g). The base station controller 40 then judges that an amount of the packets transmissible to the base transceiver system 20 has increased to 32 packets, and based on the judgment, transmits 32 of the new 64 packets stored in the internal buffer to the base transceiver system 20.
The packet data transmitting operation of FIG. 4 has been described for the case where the base station controller 40 and the base transceiver system 20 are in a normal state. However, there is a case where the base station controller 40 and the base transceiver system 20 are in an abnormal state. For example, the packet transmitted from the base station controller 40 may arrive at the base transceiver system 20 after much propagation delay due to link delay or buffering between the base station controller 40 and the base transceiver system 20. A packet data transmission operation between the base station controller and the base transceiver system for this case is illustrated in FIG. 5.
FIG. 5 illustrates a modified procedure for exchanging packet data between a base station controller and a base transceiver system according to the prior art. Here, it is again assumed that BTS_Q_SIZE is 64 packets and BTS_BUF is initially empty.
Referring to FIG. 5, if it is assumed that the base station controller 40 has received 64 packets from the gateway 60 (Step 50a), the base station controller 40 stores the received packets in its internal buffer, and then increases BSC_BUF to 64. At this point, since the base station controller 40 can transmit 64 (=BTS_Q SIZE[64]−BTS_BUF[0]) packets, it transmits 64 packets to the base transceiver system 20 (Step 50b).
In some cases, before the transmitted 64 packets arrive at the base transceiver system 20, or before BTS_BUF is otherwise updated in BSC, the base station controller 40 may receive 64 new packets (Step 50c). Upon receiving the new packets, the base station controller 40 calculates an available capacity of the base transceiver system 20. In this case, since the transmitted 64 packets have not yet arrived at the base transceiver system 20 and thus BTS_BUF at the BSC still shows that it is 0, the base station controller 40 misjudges that the BTS_BUF is 0. Therefore, the base station controller 40 calculates that an amount of the traffic that the base transceiver system 20 can additionally receive is 64 (=BTS_Q_SIZE[64]−BTS_BUF[0]), and then, transmits the received 64 new packets to the base transceiver system 20 (Step 50d).
Accordingly, the base transceiver system 20 receives the additional 64 packets transmitted in Step 50d in addition to the 64 packets transmitted in Step 50b. In this case, the amount of the packets received at the base transceiver system 20 exceeds the maximum size of the internal buffer of the base transceiver system 20, i.e., exceeds a limit of 64 packets. This causes overflow of the internal buffer in the base transceiver system 20, so retransmission occurs between the mobile station 11 and the base station controller 40 (more specifically, the SDU/RLP 41), resulting in a reduction in efficiency of the radio resources, and also resulting in propagation delay due to the retransmission. In particular, such problems become serious when traffics are unnecessarily transmitted to the base transceiver system in a handoff state of the mobile communication network.